class Functor {
    constructor (value){
        this._value = value 
    }
    map(fn){
        return new Functor(fn(this._value))
    }

    value(f){
        return f(this._value)
    }
}

// 把美元转换成人民币
// $299.9
const toRMB = v => new Functor(v)
    .map(v => v.replace('$', ''))
    .map(parseFloat)
    .map(v => v * 7)
    .map(v => v.toFixed(2))
    .value(v => '¥' + v)

console.log(toRMB('$299.9'))



